A flash memory cell can be a field effect transistor (FET) that includes a select gate, a floating gate, a drain, and a source. A cell can be read by grounding the source, and applying a voltage to a bitline connected with the drain. By applying a voltage to the wordline connected to the select gate, the cell can be switched on and off.
Programming a cell includes trapping excess electrons in the floating gate to increase voltage. This reduces the current conducted by the memory cell when the select voltage is applied to the select gate. The cell is programmed when the cell current is less than a reference current when the select voltage is applied. The cell is erased when the cell current is greater than the reference current and the select voltage is applied.
Memory cells with only two programmable states contain only a single bit of information, such as a xe2x80x9c0xe2x80x9d or a xe2x80x9c1xe2x80x9d. A multi-level cell (xe2x80x9cMLCxe2x80x9d) is a cell that can be programmed with more than one voltage level. Each voltage level is mapped to corresponding bits of information. For example, a single multi-level cell can be programmed with one of four voltage levels, e.g. xe2x88x922.5V, 0.0V, +1.0V, +2.0V that correspond to binary bits xe2x80x9c00xe2x80x9d, xe2x80x9c01xe2x80x9d, xe2x80x9c10xe2x80x9d, and xe2x80x9c11xe2x80x9d, respectively. A cell that is programmable at more voltage levels can store more bits of data based on Eqn. 1.
N=2{circumflex over ( )}Bxe2x80x83xe2x80x83Eqn. 1
B is the number of bits of data stored
N is the number of voltage levels.
Thus, a 1 bit cell requires 2 voltage levels, a 2 bit cell requires 4 voltage levels, a 3 bit cell requires 8 voltage levels, and a 4 bit cell requires 16 voltage levels.
FIG. 1 shows a representation of a single bit programming voltage level diagram 100. The xe2x80x9cerase statexe2x80x9d program distribution 102 (xe2x80x9cerase statexe2x80x9d), and the xe2x80x9cprogrammed statexe2x80x9d program distribution 104 (xe2x80x9cprogrammed statexe2x80x9d)represent a single bit being either a xe2x80x9c0xe2x80x9d or a xe2x80x9c1xe2x80x9d, respectively. The voltage between the upper end 106 of the erase state 102 and ground 108 (0.0V) is the xe2x80x9cerase margin.xe2x80x9d The voltage between ground 108 (0.0V) and the lower end 110 of the programmed state 102 and is the xe2x80x9cprogram margin.xe2x80x9d The erase state program distribution 102 is center near xe2x88x922.5V and the programmed state program distribution 104 is centered around 2.25V. The read point can be at ground 108 or anywhere between lines 106 and 110, preferably near the mid-point between lines 106 and 110.
FIG. 2 shows a representation of a four level multilevel cell program voltage diagram 200. The program distribution (xe2x80x9cdistributionxe2x80x9d) of the four levels are shown at 210, 212, 214, and 216 respectively. For example, the programming distributions are located at approximately xe2x88x922.5V, 0.0V, 0.8V, and 2.0V and the width of the programming distributions are approximately 100 to 600 mV. A four level multilevel memory cell can be programmed with any one of these voltage levels. Because the cell can store one of four binary values it can store 2 bits of information. The program margin (also called xe2x80x9cmarginxe2x80x9d, xe2x80x9cdata marginxe2x80x9d, or xe2x80x9cguard bandxe2x80x9d) is the voltage levels between distributions that is not normally used. For example, the program margins between program distributions 212, 214, and 216 are approximately 800 mV to 100 mV wide. The program margin between program distributions 210 and 212 is approximately 2.0V.
A memory device having a plurality of memory cells that are group into at least two group of cells. Each cell is capable of being programmed in at least two modes. A mode indicator is associated with each group of cells. The mode indicator indicates which programming mode is used to access the cells. The mode indicator is one or more bits and optionally is user selectable.